package prjtgl.metier.comptes.profil_utilisateur;

import java.io.Serializable;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;

/**
 * Disponibilite professionnelle d'un membre
 * @author Lucie
 */
@Entity
@Table(name="disponibilite")
public class Disponibilite implements Serializable {
	
	private long id;
	
	private boolean permanent;
	
	private Date date;
	
	private static DateFormat dateFormat;

	static {
		dateFormat = new SimpleDateFormat("MM.yyyy");
	}
	
	/**
	 * Permet de tester si un membre est disponible a une date donnee
	 * @param d Date a tester
	 * @return VRAI si le membre est disponible a la date d, FAUX sinon
	 */
	public boolean estCompatible(Date d){
		// TODO
		throw new UnsupportedOperationException("Not supported yet.");
	}

	public String obtenirIntitule(){
		String ret = "";
		if(permanent){
			ret += "Contrat permanent";
		} else {
			ret += "Prestation à partir de " + dateFormat.format(date);
		}
		return ret;
	}
	
	@Id
	@Column(name="id")
	public long getId() {
		return id;
	}
	
	public void setId(long id) {
		this.id = id;
	}

	@Column(name="permanent")
	public boolean isPermanent() {
		return permanent;
	}

	public void setPermanent(boolean permanent) {
		this.permanent = permanent;
	}

	@Column(name="date_dispo")
	@Temporal(javax.persistence.TemporalType.DATE)
	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}
	
	
}
